<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>画面分割 | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀ANSI版開発トップへ</a>
        <li><div class="list-title">
    <span class="no">3847</span>
    <a class="thread-title" href="3847.html#3847">画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3848</span>
    <a class="thread-title" href="3847.html#3848">Re: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3851</span>
    <a class="thread-title" href="3847.html#3851">Re2: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3852</span>
    <a class="thread-title" href="3847.html#3852">Re3: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3853</span>
    <a class="thread-title" href="3847.html#3853">Re4: 画面分割</a></div>
    </li><li><div class="list-title">
    <span class="no">3854</span>
    <a class="thread-title" href="3847.html#3854">Re4: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3855</span>
    <a class="thread-title" href="3847.html#3855">Re5: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3858</span>
    <a class="thread-title" href="3847.html#3858">Re6: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3859</span>
    <a class="thread-title" href="3847.html#3859">Re7: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3860</span>
    <a class="thread-title" href="3847.html#3860">Re8: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3861</span>
    <a class="thread-title" href="3847.html#3861">Re9: 画面分割</a></div>
    </li><li><div class="list-title">
    <span class="no">3862</span>
    <a class="thread-title" href="3847.html#3862">Re9: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3863</span>
    <a class="thread-title" href="3847.html#3863">Re10: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3864</span>
    <a class="thread-title" href="3847.html#3864">Re11: 画面分割</a></div>
    </li></ul></li></ul></li><li><div class="list-title">
    <span class="no">3873</span>
    <a class="thread-title" href="3847.html#3873">Re9: 画面分割</a></div>
    <ul><li><div class="list-title">
    <span class="no">3880</span>
    <a class="thread-title" href="3847.html#3880">Re10: 画面分割</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">3856</span>
    <a class="thread-title" href="3847.html#3856">Re5: 画面分割</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li>
    </ul><ul class="main"><li><section><h1 id=3847>
    <span class="no">[3847]</span>
    <a class="thread-title" href="#3847">画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-20T19:47:33">2005年02月20日 19:47</time></h1>
    <div class="body">お初にお目にかかります。kikiと申します。<br><br>表題の件、「上下画面分割がもっとほしいなぁ・・・。」<br>とエディタを探している最中、sakura殿に気づきました。<br><br>どなたか、画面分割をもっと多くしていただくことって<br>可能でしょうか？<br>って、皆さんお忙しいでしょうから、無理ですよね。^^;<br><br>で、ソースまで公開していただいているので、当方で改造<br>へチャレンジしてみようかと思いました。<br><br>基本的にCSplitterWndをいじればいいのですよね？<br>でも、２×２以外だと、全面的に書き換えのような・・・。<br><br>インターネットでソース共有するような開発を当方は経験<br>が無いので、アドバイス等がありましたらお願いいたします。<br>基本的には、個人的に修正して使用するつもりなのですが、<br>アドバイスをいただけましたら、ソースもリターンさせてい<br>ただきたいなと。<br>＞ 今後のバージョンアップも楽しみになりますので。^^;<br><br>いきなりの長文、失礼しました。</div></section>
    <ul><li><section><h1 id=3848>
    <span class="no">[3848]</span>
    <a class="thread-title" href="#3848">Re: 画面分割</a>
    <span class="author">げんた</span>
    <time datetime="2005-02-20T20:54:20">2005年02月20日 20:54</time></h1>
    <div class="body">&gt;表題の件、「上下画面分割がもっとほしいなぁ・・・。」<br>&gt;とエディタを探している最中、sakura殿に気づきました。<br>&gt;<br>&gt;どなたか、画面分割をもっと多くしていただくことって<br>&gt;可能でしょうか？<br>なんと(個人的に)タイムリーな...<br><br>現在はCSplitterWndで2x2の分割に１つのファイルを分割表示するようになっていますが，現在の構造では要望に応じきれないことが多々あるため，もっと柔軟に画面分割を制御できるように階層構造で管理するよう作り直し始めたところです．<br><br>しかし，2週間経過してもあんまり進んでないです．今日も昼に起きたら頭痛がするので風邪薬飲んで寝てまた起きたところ...<br>一応クラスの設計を大体終えてcoding始めて，不都合に気付いてまたクラスを考え直したりしています．<br><br>---<br>CSplitterWndは現在4つのViewが既に準備済みとの前提で動いているので，これを単純に6つにするとViewも６つ用意しないといけません．そうするとあんまり分割していないときにもリソースを使ってもったいない．またViewの生成は起動時間に影響することがわかっています．<br><br>初めはここを必要に応じて生成する形に出来ないかと思って始めたのですが，考え始めたらだんだん話が大きくなってしまいました．<br></div></section>
    <ul><li><section><h1 id=3851>
    <span class="no">[3851]</span>
    <a class="thread-title" href="#3851">Re2: 画面分割</a>
    <span class="author">げんた</span>
    <time datetime="2005-02-21T01:22:03">2005年02月21日 01:22</time></h1>
    <div class="body">せっかくなので，クラス図とシーケンスをドキュメントにしてホームページに載せたいのですが，クラス図はまだしもシーケンス図をまともに書けるソフトって少ないんですよね．<br></div></section>
    <ul><li><section><h1 id=3852>
    <span class="no">[3852]</span>
    <a class="thread-title" href="#3852">Re3: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-21T23:50:46">2005年02月21日 23:50</time></h1>
    <div class="body">げんたさんへ<br>なんとタイムリーな・・・（やっぱり個人的に）。^^;<br>こりゃ、黙って待ってればよかったかな。^^;;;<br><br>技術的な分割制御とViewの配置（ソースみてびっくり。すごいや！^^;）まで理解できたので、後は分割の仕様をどうしようかと・・・。<br>でも折角MAX定義しているのに、結局0,1,2,3って書かれると、ちょっと手が出しづらかったです。まずはループって初期化してみました。^^;;;<br>その後、DoSplitとOnSizeで最初の挫折・・・。_|~|○<br><br>当方、縦分割の必要性を全く感じなのですが、そこはそれ、そういうご要望の方もいらっしゃるかと。<br>２×２で、上下分割中に一気に両方のビューを左右分割というのは、固定長ファイルなどを編集しているときにアリですよね。<br>でもそうすると、そのViewの管理どうしようとか・・・。<br>（こっちだと、確かにViewをｎ個と固定で持ちたくなるの、よくわかります。）<br><br>一方、指定したビュー内だけの分割（Muleや萌エディタはこっちか。）は、階層状態でViewを管理できればいいか。<br>CObArrayとか使えると楽なのですが・・・。SDKにもある？<br>実はMFCの人間なので、今一自信がなかったのです。^^;;;<br><br>こうなると、画面分割というよりアルゴリズムの世界ですよねえ。<br>CodeGuruとかでサンプル探してみたのですが今一。<br>もっちょっと検討しよっと。<br><br>ちなみに、クラス図とシーケンス図、Visioで書いて、PDFにして共用URLへのアップとかよくやってますけど？<br>PDFは２・３千円のプリンタ経由ってソフト使ってます。<br>Visio、MSになってからかなり怪しいソフトになりました。<br>書くのはいろんなソフトがあるのですが、印刷に困るのが多くて。<br>もっか、やっぱVisioくらいかなぁ・・・。（高いってのもありますね。いえ会社のマシンなのでとりあえず平気なのですが。^^;;;）<br>あとは、以外とExcelの四角とコネクタのほうがいいか。<br>ドキュメントも楽しみにしています。^^;<br><br>げんたさん、改造を楽しみに待ってますね。^^;;;<br>（なーんて。こちらでも検討してみます。いえ、検討だけが好きだったりとか。^^/）<br><br>※いかん。また長文になっていまいました。失礼をば。</div></section>
    <ul><li><section><h1 id=3853>
    <span class="no">[3853]</span>
    <a class="thread-title" href="#3853">Re4: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-22T00:07:23">2005年02月22日 00:07</time></h1>
    <div class="body">追伸<br>そっか。まずは分割の仕様でした。<br>１．ペインを跨いでエディタ全体を分割する。<br>    現在の２×２をそのまま拡張する。<br>２．ペイン内で分割する。<br>    Arrayと階層でなら、管理はこっちの方が楽かな？<br>３．いっそ、左右分割なしに！<br>    いや、ダメだな。<br><br>やはり、２で考えられていますでしょうか？<br>左右分割のメリットって、１の方がいいような・・・？<br><br>※１の場合、どうやりゃ、Viewの管理できるだろう？<br>Viewをｎ×ｍ配列を管理するArrayにしておく＆分割ウィンドウを別途管理か！<br>アリですね。^^b<br><br>お体、ご慈愛くださいね。^^/</div></section>
    </li><li><section><h1 id=3854>
    <span class="no">[3854]</span>
    <a class="thread-title" href="#3854">Re4: 画面分割</a>
    <span class="author">げんた</span>
    <time datetime="2005-02-22T01:46:36">2005年02月22日 01:46</time></h1>
    <div class="body">昨日は勢いに任せて余計なことを書いてしまったと思っていたのですが，冷たい視線を浴びなくて済んで良かった<br><br>現在考えたところまでwebに載せました．<br>http://members.at.infoseek.co.jp/sakura_editor/devdoc/newlayout.html<br>見て頂ければわかりますが分割について全く考えていません．というか，ドキュメントを書いてみると全然考えがまとまっていないことがわかっちゃいますね．(._.)φメモメモ<br>分割は今あるものを直せば何とかなると思っていましたが容易ではなさそうな気がしてきました．<br><br>以前マクロの拡張のときに半分ずつ作ってくっつけたことがあるので今回もその手と見せかけて全部任せる技...は無理か．<br><br>---<br>Visioで図を書いている人が多いというのは@ITのアンケートでもありましたね．<br>私はVisioが手元にないことと，フリーソフトはドキュメントもフリーな方がいいかと思いまして使い勝手と図のきれいさからumbrelloを使ってみました．Visioのようにパーツが多いわけではないのですが，シーケンスを思った通りに描ける感じが気に入りました．<br>しかしフリーとは言ってもcygwinでX.orgとKDE立ち上げた時点でメモリ大量消費するので先日512MBメモリ増設していなければまともに使えなかったところです．PNGにExportするたびにクラッシュしますがExport完了後なので気にしないことにしています．(^^ゞ<br><br>diaというフリーのドローツールも使ってみたことがあるのですが，最新Win32版だとクラス図を置いたとたんにハングアップするので今回はあきらめました(;_;)<br></div></section>
    <ul><li><section><h1 id=3855>
    <span class="no">[3855]</span>
    <a class="thread-title" href="#3855">Re5: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-22T10:50:27">2005年02月22日 10:50</time></h1>
    <div class="body">こんにちは。^^/<br>&gt;昨日は勢いに任せて余計なことを書いてしまったと思っていたのですが，冷たい視線を浴びなくて済んで良かった<br>え、それは私の方かも・・・。^^;<br>よろしくお願いいたします。m(_ _)m<br><br>&gt;分割は今あるものを直せば何とかなると思っていましたが容易ではなさそうな気がしてきました．<br><br>基本はCSplitterWndを書き換えればいいかなとか思いました。直すというより、このクラスだけ丸ごと変えたほうが楽そうです。<br>まあ、CSplitterWndへアクセスしている部分は考慮する必要がありそうですが。<br>まだキッチリ見直してないのですが、CSplitterBoxがなぜにViewの中にあるのでしょう？？？<br>これだけがよく理解できない・・・。もちょっと見てみよ。<br><br>&gt;私はVisioが手元にないことと，フリーソフトはドキュメントもフリーな方がいいかと思いまして使い勝手と図のきれいさからumbrelloを使ってみました．<br>当方は仕事で使っているので、あまりこだわりがありませんでした。^^;<br>最後はホワイトボード＆マーカ＆ファイルへ出力・・・。物理技になっていったりして。^^;<br></div></section>
    <ul><li><section><h1 id=3858>
    <span class="no">[3858]</span>
    <a class="thread-title" href="#3858">Re6: 画面分割</a>
    <span class="author">げんた</span>
    <time datetime="2005-02-22T22:02:59">2005年02月22日 22:02</time></h1>
    <div class="body">&gt;まだキッチリ見直してないのですが、CSplitterBoxがなぜにViewの中にあるのでしょう？？？<br>CEditDocの中です．これは明らかに変なのでCEditWndに移動するつもり．(自分の手元では変更済み)<br><br>&gt;Array管理するには自分でクラスを作らないとダメでしょうか？<br>&gt;C++の基本で持っているもの＋SDK（だとクラスじゃない？）以外は自分で作らないとダメかなぁ・・・？<br>STLもC++の標準ライブラリです．<br>std::vectorを使えばOK．<br>しかしSTLを使うとバイナリサイズが膨らむ傾向にありますが，そこはあとから考えるか．<br><br>--<br>１つ困った機能が「同期スクロール」というものです．これは自分と対になるペインをスクロールさせるものなのですが「対になる」というのをどうやって表現するかでちょっと困っております．<br>(こういったものをVisitorにして分離しようと画策中)<br></div></section>
    <ul><li><section><h1 id=3859>
    <span class="no">[3859]</span>
    <a class="thread-title" href="#3859">Re7: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-22T23:20:07">2005年02月22日 23:20</time></h1>
    <div class="body">げんたさんへ<br>わーい。お返事いただけたぁ。^^<br>お待ちしておりました。<br><br>&gt; STLもC++の標準ライブラリです．<br>&gt; std::vectorを使えばOK．<br>&gt; しかしSTLを使うとバイナリサイズが膨らむ傾向にあ<br>&gt; りますが，そこはあとから考えるか．<br>&gt; <br>(改行入れました。)<br><br>なるなる。φ(.. )<br><br>どひぃ～。template・・・。ざ、挫折。_|~|○<br><br>&gt; --<br>&gt; １つ困った機能が「同期スクロール」というものです．<br>&gt; これは自分と対になるペインをスクロールさせるものな<br>&gt; のですが「対になる」というのをどうやって表現するか<br>&gt; でちょっと困っております．<br>&gt; (こういったものをVisitorにして分離しようと画策中)<br>(改行入れました。)<br><br>Visitor・・・。外部の人による改造？<br>仕様によっては。^^;<br><br>分割の仕方で、<br>先「re:4画面分割」追伸の仕様１．なら同じインデックス<br>のスクロールを制御すればいいかなと・・・。<br>仕様２．だと、逆に同期はとらなくてもいいかと・・・。<br><br>１．の場合<br>２×２の拡張で、ｎ×ｍのViewを管理するvectorでいいの<br>かな？を用意しおいて、nVct, mVctとします。<br><br>nVct-&gt;行分のmVctを管理<br>mVct-&gt;１行内の列分のViewを管理<br>として、<br><br>nVctへmVct(1行分)で初期化。<br><br>「上下分割されました。」-&gt; nVctを１行として追加。<br>  (どこかの行のmVctをコピっとく。)<br>  最後なら追加して、途中なら挿入。<br>「左右分割されました。」-&gt; nVctの各mVctへ１列として<br>  追加。最後なら追加して、途中なら挿入。<br>を繰り返し、どこかのスクロールが動かされたら、<br>nVct, mVctの同じインデックスのものを上下・左右に動かす。<br>というのはいかがなものかと。<br><br>ここまでは検討・・・。^^;<br><br>---<br>※仕様１・２がわかりづらい・・・。<br><br>仕様の１(ペインを跨いで、升目きっちり)<br>+---------------------------------+<br>|   |        |           |        |<br>|---+--------+-----------+--------|<br>|   |        |           |        |<br>|   |        |           |        |<br>|---+--------+-----------+--------|<br>|   |        |           |        |<br>|   |        |           |        |<br>+---------------------------------+<br>立て分割のメリットは、こちらの方があるかなと。<br>この場合は同期スクロールがほしくなります。<br><br>仕様の２（ペイン内で分割）<br>+---------------------------------+<br>|            |      |             |<br>|            +------+----+--------|<br>|            |           |        |<br>|            |           |        |<br>|            |           +--------|<br>|            |           |        |<br>|            |           |        |<br>+---------------------------------+<br>多分、げんたさんはこちらで検討されているのですよね？<br>こちらって、スクロールの同期のメリットがあまり無いか<br>と思います。<br>（私だけかなぁ・・・。^^;）<br><br>いつもながらに長文、許されて・・・。m(_ _)m</div></section>
    <ul><li><section><h1 id=3860>
    <span class="no">[3860]</span>
    <a class="thread-title" href="#3860">Re8: 画面分割</a>
    <span class="author">げんた</span>
    <time datetime="2005-02-23T06:07:31">2005年02月23日 06:07</time></h1>
    <div class="body">>どひぃ～。template・・・。<br>使うだけなら<br>typedef std::vector<CEditView*> ViewVector;<br>とかすれば，後は配列みたいに使えますよ．<br><br>>Visitor・・・。外部の人による改造？<br>>仕様によっては。^^;<br>VisitorというのはVisitorパターンのつもりで書きました．<br>googleで調べればわかりやすい解説が出てきますのでここではとりあえず割愛．<br><br>>どこかのスクロールが動かされたら、<br>>nVct, mVctの同じインデックスのものを上下・左右に動かす。<br>>というのはいかがなものかと。<br>なるほど．<br><br>>仕様の２（ペイン内で分割）<br>>多分、げんたさんはこちらで検討されているのですよね？<br>1つのファイルを分割するだけでなく，アウトライン解析のツリーを左に持ってきたりgrep結果を下に出したりといった用途にも使おうと思うとこっちかなぁと思ったので．仕様１の縦横分割も分割方法の1つとして組み込めば整合性は取れると思いますが，かなり欲張りすぎな予感．<br><br>未完成＆当然全然テストしてないコード<br><a href=http://members.at.infoseek.co.jp/sakura_editor/snapshot/2005-02-23_layout.tar.bz2 target=_top><nobr>http://<wbr>members.<wbr>at.<wbr>infoseek<wbr>.<wbr>co.<wbr>jp/<wbr>sakura_e<wbr>ditor/<wbr>snapshot<wbr>/<wbr>2005-<wbr>02-<wbr>23_layou<wbr>t.<wbr>tar.<wbr>bz2</nobr></a><br>なんか参考になれば...<br></div></section>
    <ul><li><section><h1 id=3861>
    <span class="no">[3861]</span>
    <a class="thread-title" href="#3861">Re9: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-23T08:17:59">2005年02月23日 08:17</time></h1>
    <div class="body">&gt; 使うだけなら<br>&gt; typedef std::vector&lt;CEditView*&gt; ViewVector;<br>&gt; とかすれば，後は配列みたいに使えますよ．<br><br>ありがとうございます。m(_ _)m<br>理屈は勉強したのですが、実地が無いので自信が・・・。^^;<br><br>&gt; <br>&gt; &gt;Visitor・・・。外部の人による改造？<br>&gt; &gt;仕様によっては。^^;<br>&gt; VisitorというのはVisitorパターンのつもりで書きました．<br>&gt; googleで調べればわかりやすい解説が出てきますのでここではとりあえず割愛．<br>&gt; <br><br>了解しました。^^ゝ<br><br>&gt; &gt;仕様の２（ペイン内で分割）<br>&gt; &gt;多分、げんたさんはこちらで検討されているのですよね？<br>&gt; 1つのファイルを分割するだけでなく，アウトライン解析のツリーを左に持ってきたりgrep結果を下に出したりといった用途にも使おうと思うとこっちかなぁと思ったので．仕様１の縦横分割も分割方法の1つとして組み込めば整合性は取れると思いますが，かなり欲張りすぎな予感．<br>&gt; <br><br>なるほど・・・。そちらまでお考えでしたか。ただ、EditView以外をペインに入れるには、エディット画面を小さくして入れることになり、それなりのメリットがほしくなりますね。「現在行とアウトラインの選択アイテムを常に同期する。」とか。^^;<br>この辺、使い勝手から考えると、決して盛り込み過ぎがいいとも言えません。<br>シンプルで使いやすく。なんて、偉そうなこと言えるものでもないので、ご検討いただければと思います。<br><br>&gt; 未完成＆当然全然テストしてないコード<br>&gt; <a href=http://members.at.infoseek.co.jp/sakura_editor/snapshot/2005-02-23_layout.tar.bz2 target=_top><nobr>http://<wbr>members.<wbr>at.<wbr>infoseek<wbr>.<wbr>co.<wbr>jp/<wbr>sakura_e<wbr>ditor/<wbr>snapshot<wbr>/<wbr>2005-<wbr>02-<wbr>23_layou<wbr>t.<wbr>tar.<wbr>bz2</nobr></a><br>&gt; なんか参考になれば...<br><br>ありがとうございます。<br>時間を見て触らせていただきます。^^<br>楽しみです。<br><br>ではでは。</div></section>
    </li><li><section><h1 id=3862>
    <span class="no">[3862]</span>
    <a class="thread-title" href="#3862">Re9: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-23T19:49:38">2005年02月23日 19:49</time></h1>
    <div class="body">&gt; VisitorというのはVisitorパターンのつもりで書きました．<br>&gt; googleで調べればわかりやすい解説が出てきますのでここではとりあえず割愛．<br>&gt; <br><br>なるほどぉ・・・。勉強になりました。<br><br>&gt; 未完成＆当然全然テストしてないコード<br>&gt; <a href=http://members.at.infoseek.co.jp/sakura_editor/snapshot/2005-02-23_layout.tar.bz2 target=_top><nobr>http://<wbr>members.<wbr>at.<wbr>infoseek<wbr>.<wbr>co.<wbr>jp/<wbr>sakura_e<wbr>ditor/<wbr>snapshot<wbr>/<wbr>2005-<wbr>02-<wbr>23_layou<wbr>t.<wbr>tar.<wbr>bz2</nobr></a><br>&gt; なんか参考になれば...<br><br>ssrc_2005-02-04のsakura_coreへ、いただいたコードを上書きでいいのでしょうか。<br>なにやらコンパイルエラーが出てしまって・・・。m(_ _)m<br><br>あと、一つ質問を。<br>CEditDocとCEditViewって、お互いに持ち合いしていませんか？<br>Javaだとコンパイル時にループってエラーになるのですが、C++は平気でしょうか？<br><br>すみません。うるさくて。m(_ _)m<br></div></section>
    <ul><li><section><h1 id=3863>
    <span class="no">[3863]</span>
    <a class="thread-title" href="#3863">Re10: 画面分割</a>
    <span class="author">げんた</span>
    <time datetime="2005-02-24T00:16:05">2005年02月24日 00:16</time></h1>
    <div class="body">&gt;なにやらコンパイルエラーが出てしまって・・・。m(_ _)m<br>だから未完成だと...コンパイラには読ませないでください(^^ゞ<br><br>&gt;CEditDocとCEditViewって、お互いに持ち合いしていませんか？<br>&gt;Javaだとコンパイル時にループってエラーになるのですが、C++は平気でしょうか？<br>CEditDocはCEditViewの実体を持っています．（現在)<br>CEditViewはCEditViewへのポインタを持っています．<br>(CEditDocもCEditViewのポインタを持つようにしようと思っています)<br><br>ポインタを使うだけならクラスの名前だけわかれば十分なので，<br>CEditViewの前に<br>class CEditDoc;<br>とあると思います．<br><br>引き合いに出されたJavaの「持ち合い」が何を表しているのかよくわからなかったのですが．Javaのオブジェクトは全て「参照」ですからいずれも持ち合ってはいない，ということではなくて？<br></div></section>
    <ul><li><section><h1 id=3864>
    <span class="no">[3864]</span>
    <a class="thread-title" href="#3864">Re11: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-24T10:23:52">2005年02月24日 10:23</time></h1>
    <div class="body">げんたさんへ<br>&gt; &gt;なにやらコンパイルエラーが出てしまって・・・。m(_ _)m<br>&gt; だから未完成だと...コンパイラには読ませないでください(^^ゞ<br>&gt; <br><br>しっけしっけ。^^;<br>（失礼しました。）<br><br>&gt; CEditDocはCEditViewの実体を持っています．（現在)<br>&gt; CEditViewはCEditViewへのポインタを持っています．<br>&gt; (CEditDocもCEditViewのポインタを持つようにしようと思っています)<br>&gt; <br>&gt; ポインタを使うだけならクラスの名前だけわかれば十分なので，<br>&gt; CEditViewの前に<br>&gt; class CEditDoc;<br>&gt; とあると思います．<br>&gt; <br><br>なるほどぉ・・・。<br>ソースも大きいので深追いは禁物ということで。<br>（ちょっと「いいのかなぁ。」くらいでしたから。）<br><br>&gt; 引き合いに出されたJavaの「持ち合い」が何を表しているのかよくわからなかったのですが．Javaのオブジェクトは全て「参照」ですからいずれも持ち合ってはいない，ということではなくて？<br><br>Javaの場合、参照とはいえポインタではないのでコンパイラが実体をチェックします。よって、他方のクラスを認識するには一度コンパイルを通っている必要があります。<br>その際、メンバまたはメソッド内のローカルにお互いのクラスを記載してしまうと、どちらもコンパイルが通らないという、「卵か鶏か」になってしまうのです。<br>これ、結構怖くて、Aclass &lt;-&gt; Bclassの場合だけでなく、Aclass -&gt; Bclass -&gt; Cclass -&gt; Aclassとなっても、いつか通らなくなります。^^;<br>クラス図書くときに、ループにならないように気をつければ問題無いのですが。<br><br>閑話休題<br><br>vectorを教えていただいたことですし、当方で先「仕様の１」の検討してますね。<br>（後で、ソースを合わせるのは難しいと思いますけど・・・。）<br></div></section>
    </li></ul></li></ul></li><li><section><h1 id=3873>
    <span class="no">[3873]</span>
    <a class="thread-title" href="#3873">Re9: 画面分割</a>
    <span class="author">げんた</span>
    <time datetime="2005-03-12T20:30:42">2005年03月12日 20:30</time></h1>
    <div class="body">未完成＆ファイル単位のコンパイルだけ試したコード(画面分割を除く)<br>http://members.at.infoseek.co.jp/sakura_editor/snapshot/2005-03-12_layout.tar.bz2<br><br>CEditWndにCWinLayoutRootを置いて，CEditViewをその管理要素にする<br>CEditViewHolderをCEditDocに置いてそこでドキュメント配下のViewを保持する．<br><br>CWinLayoutElement<br>┣┳ CWinElmComposite<br>┃┣━ CWinElmRoot<br>┃┗━ (分割ウィンドウ予定地)<br>┗┳CWinElmLeaf<br>　┣━CEditView<br>　┗━ (新たなView予定地)<br><br>全体のActiveViewはCEditWndで覚えておく．Document内の(Last)ActiveViewは従来通りCEditDocで覚えておく．<br>ActiveViewの変更はCEditDocがCEditWndに依頼．<br></div></section>
    <ul><li><section><h1 id=3880>
    <span class="no">[3880]</span>
    <a class="thread-title" href="#3880">Re10: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-03-19T12:11:34">2005年03月19日 12:11</time></h1>
    <div class="body">げんたさんへ<br>久しぶりに訪れてみると、おおっ、進まれていますね！<br>^^<br><br>なるほどぉ！！！<br>ドキュメント読んだときは気づかなかったのですが、MFCの<br>Splitterと同じ（いや、こっちの方が上位だな。）感じの<br>クラスを想定されていたのですね。<br>もう、激しく納得。<br>CWinLayoutElementで画面分割とViewとを全部管理されるのか・・・。<br>やるなら、ここからでしたね。さすが。<br><br>画面分割が出来るその日を楽しみにしています。<br><br>※当方、デバックできる環境はありますので、よろしければ<br>  テストとかも協力させてください。<br><br>よろしくお願いいたします。</div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li><li><section><h1 id=3856>
    <span class="no">[3856]</span>
    <a class="thread-title" href="#3856">Re5: 画面分割</a>
    <span class="author">kiki</span>
    <time datetime="2005-02-22T11:22:23">2005年02月22日 11:22</time></h1>
    <div class="body">またまた追伸<br>Array管理するには自分でクラスを作らないとダメでしょうか？どうもMFCを使わない開発という場合、ライブラリの全体像が分からなくて・・・。<br>C++の基本で持っているもの＋SDK（だとクラスじゃない？）以外は自分で作らないとダメかなぁ・・・？<br></div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></body></html>